package com.hmall.cart.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hmall.cart.domain.dto.CartFormDTO;
import com.hmall.cart.domain.po.Cart;
import com.hmall.cart.domain.vo.CartVO;

import java.util.Collection;
import java.util.List;

/**
 * 购物车业务接口
 * 继承MyBatis-Plus的IService接口，提供基础CRUD功能
 * 定义购物车特有业务方法
 */
public interface ICartService extends IService<Cart> {

    /**
     * 添加商品到购物车
     * @param cartFormDTO 商品表单DTO，包含包含商品id、商品标题、商品特点、商品价格、商品图片等信息
     */
    void addItem2Cart(CartFormDTO cartFormDTO);

    /**
     * 查询当前用户的购物车列表
     * @return 包含商品基本信息、当前价格、库存状态等实时信息
     */
    List<CartVO> queryMyCarts();

    /**
     * 根据商品ID集合删除购物车条目
     * @param itemIds 商品ID集合
     */
    void removeByItemIds(Collection<Long> itemIds);
}